#ifndef __DEFAULT_LOGGER_H__
#define __DEFAULT_LOGGER_H__

#include "Logger.h"

namespace Nezha
{

	class DefaultConsoleLogger : public LoggerOutput
	{
	public:
		// inherit from LoggerOutput
		void post(const String& str, Logger::Level lv);
	};


	class IWriteFile;

	// default txt logger
	class DefaultFileLogger : public LoggerOutput
	{
	public:
		// inherit from LoggerOutput
		void post(const String& str, Logger::Level lv);

		void setFilePath(const String& path);

		const String GetFilePath() const
		{
			return mFilePath;
		}

		DefaultFileLogger()
			:mLogFile(NULL)
		{
		}
	private:
		String mFilePath;

		IWriteFile* mLogFile;
	};

}//end namespace Nezha

#endif //end __DEFAULT_LOGGER_H__inhert
